[INFO] fetching crate quantedge-ta 0.11.0...
[INFO] testing quantedge-ta-0.11.0 against master#1f7f8ea0721a3b1eb73e6c6d25cccb371434b320 for pr-154065-1
[INFO] extracting crate quantedge-ta 0.11.0 into /workspace/builds/worker-6-tc1/source
[INFO] removed /workspace/builds/worker-6-tc1/source/.cargo/config.toml
[INFO] removed /workspace/builds/worker-6-tc1/source/rust-toolchain.toml
[INFO] started tweaking crates.io crate quantedge-ta 0.11.0
[INFO] finished tweaking crates.io crate quantedge-ta 0.11.0
[INFO] tweaked toml for crates.io crate quantedge-ta 0.11.0 written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate quantedge-ta 0.11.0 on toolchain 1f7f8ea0721a3b1eb73e6c6d25cccb371434b320
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate quantedge-ta 0.11.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded alloca v0.4.0
[INFO] [stderr]   Downloaded page_size v0.6.0
[INFO] [stderr]   Downloaded criterion-plot v0.8.2
[INFO] [stderr]   Downloaded criterion v0.8.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 5f7443d54a27e48cb4b93775807fc618fd6a86232fb90ff7760d8a267fa39a75
[INFO] running `Command { std: "docker" "start" "-a" "5f7443d54a27e48cb4b93775807fc618fd6a86232fb90ff7760d8a267fa39a75", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5f7443d54a27e48cb4b93775807fc618fd6a86232fb90ff7760d8a267fa39a75", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5f7443d54a27e48cb4b93775807fc618fd6a86232fb90ff7760d8a267fa39a75", kill_on_drop: false }`
[INFO] [stdout] 5f7443d54a27e48cb4b93775807fc618fd6a86232fb90ff7760d8a267fa39a75
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c181e1eddeb83f94964893653b72881d9d217f5924e8f16136b9bad515637c01
[INFO] running `Command { std: "docker" "start" "-a" "c181e1eddeb83f94964893653b72881d9d217f5924e8f16136b9bad515637c01", kill_on_drop: false }`
[INFO] [stderr]    Compiling quantedge-ta v0.11.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.52s
[INFO] running `Command { std: "docker" "inspect" "c181e1eddeb83f94964893653b72881d9d217f5924e8f16136b9bad515637c01", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c181e1eddeb83f94964893653b72881d9d217f5924e8f16136b9bad515637c01", kill_on_drop: false }`
[INFO] [stdout] c181e1eddeb83f94964893653b72881d9d217f5924e8f16136b9bad515637c01
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9c565f2d8ca3665e571ef13ffb2a2a41f8de88ab77d8352c410683191c44ebfc
[INFO] running `Command { std: "docker" "start" "-a" "9c565f2d8ca3665e571ef13ffb2a2a41f8de88ab77d8352c410683191c44ebfc", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling zerocopy v0.8.47
[INFO] [stderr]    Compiling cc v1.2.57
[INFO] [stderr]    Compiling libc v0.2.183
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling ciborium-io v0.2.2
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling clap_lex v1.1.0
[INFO] [stderr]    Compiling anstyle v1.0.14
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]    Compiling cast v0.3.0
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling csv-core v0.1.13
[INFO] [stderr]    Compiling ryu v1.0.23
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling page_size v0.6.0
[INFO] [stderr]    Compiling oorandom v11.1.5
[INFO] [stderr]    Compiling anes v0.1.6
[INFO] [stderr]    Compiling criterion-plot v0.8.2
[INFO] [stderr]    Compiling alloca v0.4.0
[INFO] [stderr]    Compiling clap v4.6.0
[INFO] [stderr]    Compiling zerocopy-derive v0.8.47
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling csv v1.4.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling criterion v0.8.2
[INFO] [stderr]    Compiling quantedge-ta v0.11.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 42.14s
[INFO] running `Command { std: "docker" "inspect" "9c565f2d8ca3665e571ef13ffb2a2a41f8de88ab77d8352c410683191c44ebfc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9c565f2d8ca3665e571ef13ffb2a2a41f8de88ab77d8352c410683191c44ebfc", kill_on_drop: false }`
[INFO] [stdout] 9c565f2d8ca3665e571ef13ffb2a2a41f8de88ab77d8352c410683191c44ebfc
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 786cf62e1e23d739fc8266be483201f4b67ea9a3ae9cdbdfd7ecc1cf75ce2561
[INFO] running `Command { std: "docker" "start" "-a" "786cf62e1e23d739fc8266be483201f4b67ea9a3ae9cdbdfd7ecc1cf75ce2561", kill_on_drop: false }`
[INFO] [stdout] 
[INFO] [stdout] running 447 tests
[INFO] [stdout] test indicators::adx::tests::config::length_accessor ... ok
[INFO] [stdout] test indicators::adx::tests::computation::uptrend_has_higher_plus_di ... ok
[INFO] [stdout] test indicators::adx::tests::clone::produces_independent_state ... ok
[INFO] [stdout] test indicators::adx::tests::computation::adx_positive_in_trend ... ok
[INFO] [stdout] test indicators::adx::tests::bounds::adx_between_0_and_100 ... ok
[INFO] [stdout] test indicators::adx::tests::computation::downtrend_has_higher_minus_di ... ok
[INFO] [stdout] test indicators::adx::tests::config::convergence_is_double_length ... ok
[INFO] [stdout] test indicators::adx::tests::config::eq_and_hash ... ok
[INFO] [stdout] test indicators::adx::tests::config::source_builder_is_noop ... ok
[INFO] [stdout] test indicators::adx::tests::display::formats_adx ... ok
[INFO] [stdout] test indicators::adx::tests::convergence::first_value_after_seeding ... ok
[INFO] [stdout] test indicators::adx::tests::display::formats_config ... ok
[INFO] [stdout] test indicators::adx::tests::convergence::returns_none_during_seeding ... ok
[INFO] [stdout] test indicators::adx::tests::config::source_is_close ... ok
[INFO] [stdout] test indicators::adx::tests::convergence::value_is_none_before_convergence ... ok
[INFO] [stdout] test indicators::adx::tests::convergence::value_matches_last_compute ... ok
[INFO] [stdout] test indicators::adx::tests::display::formats_value ... ok
[INFO] [stdout] test indicators::adx::tests::flat_market::flat_bars_give_zero_di ... ok
[INFO] [stdout] test indicators::adx::tests::repaints::repaint_then_advance_uses_repainted ... ok
[INFO] [stdout] test indicators::adx::tests::repaints::repaint_updates_value ... ok
[INFO] [stdout] test indicators::adx::tests::value_accessor::accessors_return_components ... ok
[INFO] [stdout] test indicators::adx::tests::value_accessor::none_before_convergence ... ok
[INFO] [stdout] test indicators::adx::tests::value_accessor::returns_current_value ... ok
[INFO] [stdout] test indicators::atr::tests::clone::produces_independent_state ... ok
[INFO] [stdout] test indicators::atr::tests::config::builder_sets_length ... ok
[INFO] [stdout] test indicators::atr::tests::config::convergence_equals_length ... ok
[INFO] [stdout] test indicators::adx::tests::repaints::multiple_repaints_match_single ... ok
[INFO] [stdout] test indicators::atr::tests::config::eq_and_hash ... ok
[INFO] [stdout] test indicators::atr::tests::display::config_formats_correctly ... ok
[INFO] [stdout] test indicators::adx::tests::value_accessor::matches_last_compute ... ok
[INFO] [stdout] test indicators::atr::tests::config::source_builder_is_noop ... ok
[INFO] [stdout] test indicators::adx::tests::repaints::repaint_during_filling_stays_none ... ok
[INFO] [stdout] test indicators::atr::tests::gap_detection::gap_down_low_vs_prev_close_dominates ... ok
[INFO] [stdout] test indicators::atr::tests::repaint::advance_after_repaint ... ok
[INFO] [stdout] test indicators::atr::tests::gap_detection::gap_up_high_vs_prev_close_dominates ... ok
[INFO] [stdout] test indicators::atr::tests::display::formats_correctly ... ok
[INFO] [stdout] test indicators::atr::tests::repaint::multiple_repaints_same_bar ... ok
[INFO] [stdout] test indicators::atr::tests::repaint::repaint_matches_clean_computation ... ok
[INFO] [stdout] test indicators::atr::tests::seeding::first_value_is_sma_of_true_ranges ... ok
[INFO] [stdout] test indicators::atr::tests::flat_market::atr_is_zero_on_flat_bars ... ok
[INFO] [stdout] test indicators::atr::tests::config::source_is_true_range ... ok
[INFO] [stdout] test indicators::atr::tests::seeding::repaint_during_seeding ... ok
[INFO] [stdout] test indicators::atr::tests::seeding::none_during_seeding ... ok
[INFO] [stdout] test indicators::atr::tests::spike_decay::atr_decays_monotonically_after_spike ... ok
[INFO] [stdout] test indicators::atr::tests::repaint::recomputes_from_prev_atr ... ok
[INFO] [stdout] test indicators::atr::tests::value_accessor::returns_current_value ... ok
[INFO] [stdout] test indicators::atr::tests::wilders_smoothing::applies_wilder_alpha ... ok
[INFO] [stdout] test indicators::atr::tests::wilders_smoothing::multi_bar_smoothing ... ok
[INFO] [stdout] test indicators::atr::tests::window_size_one::first_bar_returns_value ... ok
[INFO] [stdout] test indicators::atr::tests::window_size_one::always_equals_current_tr ... ok
[INFO] [stdout] test indicators::atr::tests::value_accessor::matches_last_compute ... ok
[INFO] [stdout] test indicators::atr::tests::value_accessor::none_before_convergence ... ok
[INFO] [stdout] test indicators::bb::tests::computation::bands_are_symmetric ... ok
[INFO] [stdout] test indicators::bb::tests::clone::produces_independent_state ... ok
[INFO] [stdout] test indicators::bb::tests::computation::basic_bands ... ok
[INFO] [stdout] test indicators::bb::tests::computation::constant_input_zero_width ... ok
[INFO] [stdout] test indicators::bb::tests::config::convergence_equals_length ... ok
[INFO] [stdout] test indicators::bb::tests::config::default_source_is_close ... ok
[INFO] [stdout] test indicators::bb::tests::config::default_std_dev_is_two ... ok
[INFO] [stdout] test indicators::bb::tests::display::config_formats_correctly ... ok
[INFO] [stdout] test indicators::bb::tests::display::bb_formats_correctly ... ok
[INFO] [stdout] test indicators::bb::tests::display::bb_value_formats_correctly ... ok
[INFO] [stdout] test indicators::bb::tests::eq_and_hash::identical_configs_match ... ok
[INFO] [stdout] test indicators::bb::tests::filling::none_until_window_full ... ok
[INFO] [stdout] test indicators::bb::tests::filling::returns_value_when_full ... ok
[INFO] [stdout] test indicators::bb::tests::price_source::hl2_source ... ok
[INFO] [stdout] test indicators::bb::tests::repaint::repaint_during_filling ... ok
[INFO] [stdout] test indicators::bb::tests::repaint::replaces_current_bar ... ok
[INFO] [stdout] test indicators::bb::tests::sliding::updates_on_advance ... ok
[INFO] [stdout] test indicators::bb::tests::std_dev_multiplier::fractional_multiplier ... ok
[INFO] [stdout] test indicators::bb::tests::std_dev_multiplier::multiplier_of_one ... ok
[INFO] [stdout] test indicators::bb::tests::std_dev_multiplier::wider_multiplier_wider_bands ... ok
[INFO] [stdout] test indicators::bb::tests::value::none_before_first_value ... ok
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.06s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/quantedge_ta-c678b8fc3bc2cd89)
[INFO] [stdout] test indicators::bb::tests::value::returns_last_computed ... ok
[INFO] [stdout] test indicators::bb::tests::width::equals_upper_minus_lower ... ok
[INFO] [stdout] test indicators::bb::tests::width::zero_for_constant_input ... ok
[INFO] [stdout] test indicators::cci::tests::clone::produces_independent_state ... ok
[INFO] [stdout] test indicators::cci::tests::computation::basic_cci_value ... ok
[INFO] [stdout] test indicators::cci::tests::computation::negative_cci ... ok
[INFO] [stdout] test indicators::cci::tests::computation::flat_market_gives_zero ... ok
[INFO] [stdout] test indicators::cci::tests::computation::price_at_mean_gives_zero ... ok
[INFO] [stdout] test indicators::cci::tests::config::close_helper_uses_close_source ... ok
[INFO] [stdout] test indicators::cci::tests::config::convergence_equals_length ... ok
[INFO] [stdout] test indicators::cci::tests::config::default_source_is_hlc3 ... ok
[INFO] [stdout] test indicators::cci::tests::config::custom_source ... ok
[INFO] [stdout] test indicators::cci::tests::config::eq_and_hash ... ok
[INFO] [stdout] test indicators::cci::tests::config::hlc3_helper_uses_hlc3_source ... ok
[INFO] [stdout] test indicators::cci::tests::config::length_accessor ... ok
[INFO] [stdout] test indicators::cci::tests::display::config_formats_correctly ... ok
[INFO] [stdout] test indicators::cci::tests::display::formats_correctly ... ok
[INFO] [stdout] test indicators::cci::tests::filling::returns_value_when_full ... ok
[INFO] [stdout] test indicators::cci::tests::live_data::mixed_open_and_closed_bars ... ok
[INFO] [stdout] test indicators::cci::tests::filling::none_until_window_full ... ok
[INFO] [stdout] test indicators::cci::tests::price_source::uses_configured_source ... ok
[INFO] [stdout] test indicators::cci::tests::repaint::advance_after_repaint ... ok
[INFO] [stdout] test indicators::cci::tests::repaint::multiple_repaints_match_single ... ok
[INFO] [stdout] test indicators::cci::tests::repaint::repaint_during_filling ... ok
[INFO] [stdout] test indicators::cci::tests::repaint::updates_current_bar ... ok
[INFO] [stdout] test indicators::cci::tests::sliding::drops_oldest_on_advance ... ok
[INFO] [stdout] test indicators::cci::tests::value_accessor::matches_last_compute ... ok
[INFO] [stdout] test indicators::cci::tests::sliding::slides_across_many_bars ... ok
[INFO] [stdout] test indicators::cci::tests::value_accessor::none_before_convergence ... ok
[INFO] [stdout] test indicators::cci::tests::value_accessor::returns_current_value ... ok
[INFO] [stdout] test indicators::chop::tests::bounds::always_between_0_and_100 ... ok
[INFO] [stdout] test indicators::chop::tests::clone::produces_independent_state ... ok
[INFO] [stdout] test indicators::chop::tests::computation::flat_market_gives_100 ... ok
[INFO] [stdout] test indicators::chop::tests::computation::manual_computation ... ok
[INFO] [stdout] test indicators::chop::tests::computation::value_between_0_and_100 ... ok
[INFO] [stdout] test indicators::chop::tests::config::convergence_equals_length ... ok
[INFO] [stdout] test indicators::chop::tests::config::eq_and_hash ... ok
[INFO] [stdout] test indicators::chop::tests::config::close_helper ... ok
[INFO] [stdout] test indicators::bb::tests::config::std_dev_rejects_nan - should panic ... ok
[INFO] [stdout] test indicators::bb::tests::config::panics_without_length - should panic ... ok
[INFO] [stdout] test indicators::chop::tests::config::source_is_true_range ... ok
[INFO] [stdout] test indicators::chop::tests::display::formats_correctly ... ok
[INFO] [stdout] test indicators::chop::tests::filling::none_until_window_full ... ok
[INFO] [stdout] test indicators::bb::tests::config::std_dev_rejects_negative - should panic ... ok
[INFO] [stdout] test indicators::adx::tests::config::panics_without_length - should panic ... ok
[INFO] [stdout] test indicators::bb::tests::config::std_dev_rejects_zero - should panic ... ok
[INFO] [stdout] test indicators::cci::tests::config::panics_without_length - should panic ... ok
[INFO] [stdout] test indicators::chop::tests::config::panics_without_length - should panic ... ok
[INFO] [stdout] test indicators::chop::tests::filling::returns_value_when_full ... ok
[INFO] [stdout] test indicators::chop::tests::live_data::mixed_open_and_closed_bars ... ok
[INFO] [stdout] test indicators::chop::tests::repaint::multiple_repaints_match_single ... ok
[INFO] [stdout] test indicators::chop::tests::repaint::advance_after_repaint ... ok
[INFO] [stdout] test indicators::chop::tests::repaint::repaint_during_filling ... ok
[INFO] [stdout] test indicators::chop::tests::sliding::old_bar_expires ... ok
[INFO] [stdout] test indicators::chop::tests::repaint::updates_current_bar ... ok
[INFO] [stdout] test indicators::chop::tests::value_accessor::matches_last_compute ... ok
[INFO] [stdout] test indicators::chop::tests::value_accessor::none_before_convergence ... ok
[INFO] [stdout] test indicators::dc::tests::clone::produces_independent_state ... ok
[INFO] [stdout] test indicators::chop::tests::value_accessor::returns_current_value ... ok
[INFO] [stdout] test indicators::dc::tests::computation::flat_market ... ok
[INFO] [stdout] test indicators::dc::tests::computation::slides_across_many_bars ... ok
[INFO] [stdout] test indicators::dc::tests::computation::sliding_window_drops_oldest ... ok
[INFO] [stdout] test indicators::dc::tests::computation::upper_lower_middle_math ... ok
[INFO] [stdout] test indicators::dc::tests::config::convergence_equals_length ... ok
[INFO] [stdout] test indicators::dc::tests::config::eq_and_hash ... ok
[INFO] [stdout] test indicators::dc::tests::config::source_is_always_close ... ok
[INFO] [stdout] test indicators::dc::tests::convergence::first_value_at_length_bars ... ok
[INFO] [stdout] test indicators::dc::tests::convergence::length_one_converges_immediately ... ok
[INFO] [stdout] test indicators::dc::tests::config::custom_length ... ok
[INFO] [stdout] test indicators::dc::tests::config::default_length_is_20 ... ok
[INFO] [stdout] test indicators::dc::tests::convergence::returns_none_during_filling ... ok
[INFO] [stdout] test indicators::dc::tests::display::display_dc ... ok
[INFO] [stdout] test indicators::dc::tests::display::display_value ... ok
[INFO] [stdout] test indicators::dc::tests::repaints::multiple_repaints_match_single ... ok
[INFO] [stdout] test indicators::dc::tests::repaints::repaint_during_filling_has_no_effect_on_convergence ... ok
[INFO] [stdout] test indicators::dc::tests::display::display_config ... ok
[INFO] [stdout] test indicators::dc::tests::repaints::repaint_updates_value ... ok
[INFO] [stdout] test indicators::dc::tests::repaints::repaint_then_advance_uses_repainted ... ok
[INFO] [stdout] test indicators::dc::tests::value_accessor::none_before_convergence ... ok
[INFO] [stdout] test indicators::ema::tests::alpha::ema_2_alpha_is_two_thirds ... ok
[INFO] [stdout] test indicators::ema::tests::clone::produces_independent_state ... ok
[INFO] [stdout] test indicators::ema::tests::config::close_helper ... ok
[INFO] [stdout] test indicators::ema::tests::config::custom_source ... ok
[INFO] [stdout] test indicators::ema::tests::config::eq_and_hash ... ok
[INFO] [stdout] test indicators::ema::tests::config::default_source_is_close ... ok
[INFO] [stdout] test indicators::ema::tests::alpha::ema_4_alpha_is_two_fifths ... ok
[INFO] [stdout] test indicators::ema::tests::config::ohlc4_helper ... ok
[INFO] [stdout] test indicators::ema::tests::config::hl2_helper ... ok
[INFO] [stdout] test indicators::ema::tests::convergence::returns_value_at_seed_without_enforcement ... ok
[INFO] [stdout] test indicators::ema::tests::display::config_formats_correctly ... ok
[INFO] [stdout] test indicators::chop::tests::display::config_formats_correctly ... ok
[INFO] [stdout] test indicators::dc::tests::value_accessor::matches_last_compute ... ok
[INFO] [stdout] test indicators::ema::tests::live_data::mixed_open_and_closed_bars ... ok
[INFO] [stdout] test indicators::dc::tests::value_accessor::accessors_return_correct_values ... ok
[INFO] [stdout] test indicators::ema::tests::repaint::recomputes_from_prev_ema ... ok
[INFO] [stdout] test indicators::ema::tests::seeding::first_value_is_sma_seed ... ok
[INFO] [stdout] test indicators::ema::tests::seeding::repaint_during_seeding ... ok
[INFO] [stdout] test indicators::ema::tests::true_range::applies_ema_after_seed ... ok
[INFO] [stdout] test indicators::dc::tests::invariants::panics_on_decreasing_open_time - should panic ... ok
[INFO] [stdout] test indicators::ema::tests::repaint::advance_after_repaint ... ok
[INFO] [stdout] test indicators::ema::tests::repaint::multiple_repaints_same_bar ... ok
[INFO] [stdout] test indicators::ema::tests::config::panics_without_length - should panic ... ok
[INFO] [stdout] test indicators::ema::tests::true_range::seeds_with_true_range_sma ... ok
[INFO] [stdout] test indicators::ema::tests::value_accessor::matches_last_compute ... ok
[INFO] [stdout] test indicators::ema::tests::value_accessor::none_before_convergence ... ok
[INFO] [stdout] test indicators::ema::tests::window_size_one::always_equals_latest_price ... ok
[INFO] [stdout] test indicators::ema::tests::window_size_one::first_bar_returns_value ... ok
[INFO] [stdout] test indicators::kc::tests::clone::produces_independent_state ... ok
[INFO] [stdout] test indicators::kc::tests::computation::bands_symmetric_around_middle ... ok
[INFO] [stdout] test indicators::kc::tests::computation::band_width_equals_2_times_multiplier_times_atr ... ok
[INFO] [stdout] test indicators::kc::tests::computation::constant_ohlc_collapses_bands ... ok
[INFO] [stdout] test indicators::ema::tests::value_accessor::returns_current_value ... ok
[INFO] [stdout] test indicators::kc::tests::computation::middle_equals_ema ... ok
[INFO] [stdout] test indicators::ema::tests::seeding::none_during_seeding ... ok
[INFO] [stdout] test indicators::ema::tests::price_source::uses_configured_source ... ok
[INFO] [stdout] test indicators::ema::tests::display::formats_correctly ... ok
[INFO] [stdout] test indicators::kc::tests::computation::upper_above_middle_above_lower ... ok
[INFO] [stdout] test indicators::kc::tests::config::accessors ... ok
[INFO] [stdout] test indicators::kc::tests::config::default_multiplier_is_1_5 ... ok
[INFO] [stdout] test indicators::kc::tests::config::default_source_is_close ... ok
[INFO] [stdout] test indicators::kc::tests::config::eq_and_hash ... ok
[INFO] [stdout] test indicators::kc::tests::config::full_convergence_capped_by_atr ... ok
[INFO] [stdout] test indicators::kc::tests::config::convergence_is_max_of_lengths ... ok
[INFO] [stdout] test indicators::kc::tests::config::full_convergence_uses_ema_bars_to_converge ... ok
[INFO] [stdout] test indicators::kc::tests::convergence::first_value_at_max_length_atr_length ... ok
[INFO] [stdout] test indicators::kc::tests::convergence::none_before_both_converge ... ok
[INFO] [stdout] test indicators::kc::tests::convergence::value_none_before_convergence ... ok
[INFO] [stdout] test indicators::kc::tests::display::display_config ... ok
[INFO] [stdout] test indicators::kc::tests::convergence::value_matches_last_compute ... ok
[INFO] [stdout] test indicators::kc::tests::config::panics_without_atr_length - should panic ... ok
[INFO] [stdout] test indicators::kc::tests::display::display_value ... ok
[INFO] [stdout] test indicators::kc::tests::convergence::none_when_atr_leads_ema ... ok
[INFO] [stdout] test indicators::kc::tests::display::display_kc ... ok
[INFO] [stdout] test indicators::kc::tests::config::panics_without_length - should panic ... ok
[INFO] [stdout] test indicators::kc::tests::multiplier::eq_and_hash ... ok
[INFO] [stdout] test indicators::kc::tests::multiplier::default_is_1_5 ... ok
[INFO] [stdout] test indicators::kc::tests::convergence::none_when_ema_leads_atr ... ok
[INFO] [stdout] test indicators::kc::tests::multiplier::value_accessor ... ok
[INFO] [stdout] test indicators::kc::tests::multiplier::wider_multiplier_wider_bands ... ok
[INFO] [stdout] test indicators::kc::tests::price_source::uses_configured_source ... ok
[INFO] [stdout] test indicators::kc::tests::repaint::multiple_repaints_match_clean ... ok
[INFO] [stdout] test indicators::kc::tests::repaint::repaint_during_filling ... ok
[INFO] [stdout] test indicators::kc::tests::repaint::updates_value ... ok
[INFO] [stdout] test indicators::kc::tests::multiplier::rejects_nan - should panic ... ok
[INFO] [stdout] test indicators::macd::tests::clone::produces_independent_state ... ok
[INFO] [stdout] test indicators::macd::tests::config::custom_lengths ... ok
[INFO] [stdout] test indicators::macd::tests::config::default_is_12_26_9 ... ok
[INFO] [stdout] test indicators::macd::tests::config::convergence_equals_slow_length ... ok
[INFO] [stdout] test indicators::macd::tests::config::default_source_is_close ... ok
[INFO] [stdout] test indicators::kc::tests::multiplier::rejects_negative - should panic ... ok
[INFO] [stdout] test indicators::macd::tests::config::eq_and_hash ... ok
[INFO] [stdout] test indicators::macd::tests::config::full_convergence_includes_signal ... ok
[INFO] [stdout] test indicators::macd::tests::convergence::full_output_at_slow_plus_signal_minus_one ... ok
[INFO] [stdout] test indicators::kc::tests::multiplier::rejects_zero - should panic ... ok
[INFO] [stdout] test indicators::macd::tests::convergence::macd_line_available_at_slow_length ... ok
[INFO] [stdout] test indicators::kc::tests::repaint::repaint_then_advance ... ok
[INFO] [stdout] test indicators::macd::tests::convergence::none_before_slow_ema_converges ... ok
[INFO] [stdout] test indicators::macd::tests::convergence::signal_none_during_signal_seed ... ok
[INFO] [stdout] test indicators::macd::tests::convergence::value_matches_last_compute ... ok
[INFO] [stdout] test indicators::macd::tests::convergence::value_none_before_convergence ... ok
[INFO] [stdout] test indicators::macd::tests::display::display_config ... ok
[INFO] [stdout] test indicators::macd::tests::display::display_macd ... ok
[INFO] [stdout] test indicators::macd::tests::config::panics_when_fast_equals_slow - should panic ... ok
[INFO] [stdout] test indicators::macd::tests::display::display_value_full ... ok
[INFO] [stdout] test indicators::macd::tests::display::display_value_partial ... ok
[INFO] [stdout] test indicators::macd::tests::edge_cases::constant_price_all_zeros ... ok
[INFO] [stdout] test indicators::macd::tests::edge_cases::trending_down_negative_macd ... ok
[INFO] [stdout] test indicators::macd::tests::edge_cases::trending_up_positive_macd ... ok
[INFO] [stdout] test indicators::macd::tests::histogram::equals_macd_minus_signal ... ok
[INFO] [stdout] test indicators::macd::tests::config::panics_when_fast_greater_than_slow - should panic ... ok
[INFO] [stdout] test indicators::macd::tests::histogram::zero_when_constant_price ... ok
[INFO] [stdout] test indicators::macd::tests::macd_line::equals_fast_minus_slow ... ok
[INFO] [stdout] test indicators::macd::tests::macd_line::zero_when_constant_price ... ok
[INFO] [stdout] test indicators::macd::tests::repaint::repaint_during_signal_seed ... ok
[INFO] [stdout] test indicators::macd::tests::repaint::repaint_matches_clean ... ok
[INFO] [stdout] test indicators::macd::tests::repaint::forming_bar_updates_value ... ok
[INFO] [stdout] test indicators::macd::tests::signal_line::zero_when_constant_price ... ok
[INFO] [stdout] test indicators::macd::tests::signal_line::signal_is_ema_of_macd_line ... ok
[INFO] [stdout] test indicators::rsi::tests::bounds::always_between_0_and_100 ... ok
[INFO] [stdout] test indicators::macd::tests::repaint::repaint_then_signal_seed_completes_correctly ... ok
[INFO] [stdout] test indicators::macd::tests::price_source::uses_configured_source ... ok
[INFO] [stdout] test indicators::macd::tests::repaint::multiple_repaints_stable ... ok
[INFO] [stdout] test indicators::macd::tests::invariants::panics_on_decreasing_open_time - should panic ... ok
[INFO] [stdout] test indicators::rsi::tests::clone::produces_independent_state ... ok
[INFO] [stdout] test indicators::rsi::tests::config::convergence_equals_length_plus_one ... ok
[INFO] [stdout] test indicators::rsi::tests::config::default_source_is_close ... ok
[INFO] [stdout] test indicators::rsi::tests::config::eq_and_hash ... ok
[INFO] [stdout] test indicators::rsi::tests::convergence::first_value_at_period_plus_one_bars ... ok
[INFO] [stdout] test indicators::rsi::tests::convergence::returns_none_during_seed ... ok
[INFO] [stdout] test indicators::rsi::tests::convergence::value_is_none_before_convergence ... ok
[INFO] [stdout] test indicators::rsi::tests::convergence::value_matches_last_compute ... ok
[INFO] [stdout] test indicators::rsi::tests::display::display_config ... ok
[INFO] [stdout] test indicators::rsi::tests::display::display_rsi ... ok
[INFO] [stdout] test indicators::rsi::tests::flat_price::flat_price_gives_50 ... ok
[INFO] [stdout] test indicators::rsi::tests::length_one::length_one_values_correct ... ok
[INFO] [stdout] test indicators::rsi::tests::repaints::active_repaint_updates_value ... ok
[INFO] [stdout] test indicators::rsi::tests::price_source::uses_configured_source ... ok
[INFO] [stdout] test indicators::rsi::tests::repaints::repaint_then_advance_uses_repainted_price ... ok
[INFO] [stdout] test indicators::rsi::tests::repaints::multiple_repaints_match_single_computation ... ok
[INFO] [stdout] test indicators::rsi::tests::config::panics_without_length - should panic ... ok
[INFO] [stdout] test indicators::rsi::tests::length_one::produces_on_bar_two ... ok
[INFO] [stdout] test indicators::rsi::tests::invariants::panics_on_decreasing_open_time - should panic ... ok
[INFO] [stdout] test indicators::rsi::tests::seed_values::all_gains_gives_100 ... ok
[INFO] [stdout] test indicators::rsi::tests::seed_values::all_losses_gives_0 ... ok
[INFO] [stdout] test indicators::rsi::tests::transition_repaint::transition_repaint_matches_clean ... ok
[INFO] [stdout] test indicators::rsi::tests::seed_values::seed_rsi_computation ... ok
[INFO] [stdout] test indicators::rsi::tests::wilder_smoothing::first_smoothed_value ... ok
[INFO] [stdout] test indicators::sma::tests::clone::produces_independent_state ... ok
[INFO] [stdout] test indicators::sma::tests::config::display_config ... ok
[INFO] [stdout] test indicators::rsi::tests::seed_values::equal_gains_and_losses_gives_50 ... ok
[INFO] [stdout] test indicators::sma::tests::config::close_helper_uses_close_source ... ok
[INFO] [stdout] test indicators::rsi::tests::repaints::seed_repaint_adjusts_sum ... ok
[INFO] [stdout] test indicators::sma::tests::config::eq_and_hash ... ok
[INFO] [stdout] test indicators::sma::tests::config::hl2_helper_uses_hl2_source ... ok
[INFO] [stdout] test indicators::sma::tests::config::ohlc4_helper_uses_ohlc4_source ... ok
[INFO] [stdout] test indicators::sma::tests::display::formats_correctly ... ok
[INFO] [stdout] test indicators::sma::tests::filling::none_until_window_full ... ok
[INFO] [stdout] test indicators::sma::tests::live_data::mixed_open_and_closed_bars ... ok
[INFO] [stdout] test indicators::sma::tests::price_source::hl2_source ... ok
[INFO] [stdout] test indicators::sma::tests::repaint::multiple_repaints ... ok
[INFO] [stdout] test indicators::sma::tests::repaint::updates_current_bar ... ok
[INFO] [stdout] test indicators::sma::tests::repaint::repaint_during_filling ... ok
[INFO] [stdout] test indicators::sma::tests::config::panics_without_length - should panic ... ok
[INFO] [stdout] test indicators::sma::tests::sliding::drops_oldest_on_advance ... ok
[INFO] [stdout] test indicators::sma::tests::filling::returns_average_when_full ... ok
[INFO] [stdout] test indicators::sma::tests::sliding::slides_across_many_bars ... ok
[INFO] [stdout] test indicators::sma::tests::true_range::averages_true_range_over_window ... ok
[INFO] [stdout] test indicators::sma::tests::true_range::first_bar_uses_high_minus_low ... ok
[INFO] [stdout] test indicators::sma::tests::true_range::gap_up_uses_prev_close ... ok
[INFO] [stdout] test indicators::sma::tests::value_accessor::none_before_convergence ... ok
[INFO] [stdout] test indicators::sma::tests::value_accessor::returns_current_value ... ok
[INFO] [stdout] test indicators::stoch::tests::bounds::k_always_between_0_and_100 ... ok
[INFO] [stdout] test indicators::stoch::tests::computation::close_at_highest_high_gives_100 ... ok
[INFO] [stdout] test indicators::stoch::tests::clone::produces_independent_state ... ok
[INFO] [stdout] test indicators::stoch::tests::computation::d_is_sma_of_k ... ok
[INFO] [stdout] test indicators::stoch::tests::computation::flat_market_gives_50 ... ok
[INFO] [stdout] test indicators::stoch::tests::computation::close_at_lowest_low_gives_0 ... ok
[INFO] [stdout] test indicators::sma::tests::value_accessor::matches_last_compute ... ok
[INFO] [stdout] test indicators::stoch::tests::computation::k_smooth_averages_raw_k ... ok
[INFO] [stdout] test indicators::stoch::tests::config::accessors ... ok
[INFO] [stdout] test indicators::stoch::tests::computation::raw_k_math ... ok
[INFO] [stdout] test indicators::stoch::tests::config::default_source_is_close ... ok
[INFO] [stdout] test indicators::stoch::tests::config::eq_and_hash ... ok
[INFO] [stdout] test indicators::stoch::tests::convergence::d_none_until_d_smooth_bars_after_k ... ok
[INFO] [stdout] test indicators::stoch::tests::convergence::first_value_at_length_plus_k_smooth ... ok
[INFO] [stdout] test indicators::stoch::tests::convergence::k_smooth_delays_output ... ok
[INFO] [stdout] test indicators::stoch::tests::config::panics_without_k_smooth - should panic ... ok
[INFO] [stdout] test indicators::stoch::tests::convergence::returns_none_during_filling ... ok
[INFO] [stdout] test indicators::rsi::tests::wilder_smoothing::converges_toward_50_with_alternating ... ok
[INFO] [stdout] test indicators::sma::tests::config::convergence_equals_length ... ok
[INFO] [stdout] test indicators::stoch::tests::config::panics_without_d_smooth - should panic ... ok
[INFO] [stdout] test indicators::stoch::tests::display::display_config ... ok
[INFO] [stdout] test indicators::stoch::tests::config::panics_without_length - should panic ... ok
[INFO] [stdout] test indicators::stoch::tests::display::display_stoch ... ok
[INFO] [stdout] test indicators::stoch::tests::display::display_value_with_d ... ok
[INFO] [stdout] test indicators::stoch::tests::display::display_value_without_d ... ok
[INFO] [stdout] test indicators::stoch::tests::price_source::uses_configured_source ... ok
[INFO] [stdout] test indicators::stoch::tests::repaints::multiple_repaints_match_single ... ok
[INFO] [stdout] test indicators::stoch::tests::repaints::repaint_during_filling_has_no_effect_on_convergence ... ok
[INFO] [stdout] test indicators::stoch::tests::repaints::repaint_then_advance_uses_repainted ... ok
[INFO] [stdout] test indicators::stoch::tests::repaints::repaint_updates_value ... ok
[INFO] [stdout] test indicators::stoch::tests::value_accessor::matches_last_compute ... ok
[INFO] [stdout] test indicators::stoch::tests::value_accessor::none_before_convergence ... ok
[INFO] [stdout] test indicators::stoch::tests::value_accessor::value_k_and_d_accessors ... ok
[INFO] [stdout] test indicators::willr::tests::clone::produces_independent_state ... ok
[INFO] [stdout] test indicators::willr::tests::bounds::always_between_minus_100_and_0 ... ok
[INFO] [stdout] test indicators::willr::tests::computation::flat_market_gives_minus_50 ... ok
[INFO] [stdout] test indicators::willr::tests::computation::midpoint_gives_minus_50 ... ok
[INFO] [stdout] test indicators::willr::tests::computation::price_at_high_gives_zero ... ok
[INFO] [stdout] test indicators::willr::tests::computation::price_at_low_gives_minus_100 ... ok
[INFO] [stdout] test indicators::willr::tests::config::close_helper_uses_close_source ... ok
[INFO] [stdout] test indicators::willr::tests::config::convergence_equals_length ... ok
[INFO] [stdout] test indicators::willr::tests::config::custom_source ... ok
[INFO] [stdout] test indicators::willr::tests::config::eq_and_hash ... ok
[INFO] [stdout] test indicators::willr::tests::config::panics_without_length - should panic ... ok
[INFO] [stdout] test indicators::willr::tests::display::config_formats_correctly ... ok
[INFO] [stdout] test indicators::willr::tests::config::length_accessor ... ok
[INFO] [stdout] test indicators::willr::tests::config::default_source_is_close ... ok
[INFO] [stdout] test indicators::willr::tests::filling::none_until_window_full ... ok
[INFO] [stdout] test indicators::willr::tests::live_data::mixed_open_and_closed_bars ... ok
[INFO] [stdout] test indicators::willr::tests::price_source::uses_configured_source ... ok
[INFO] [stdout] test indicators::willr::tests::repaint::multiple_repaints_match_single ... ok
[INFO] [stdout] test indicators::willr::tests::sliding::old_extreme_expires ... ok
[INFO] [stdout] test indicators::willr::tests::repaint::advance_after_repaint ... ok
[INFO] [stdout] test indicators::willr::tests::value_accessor::matches_last_compute ... ok
[INFO] [stdout] test indicators::willr::tests::repaint::updates_current_bar ... ok
[INFO] [stdout] test indicators::willr::tests::repaint::repaint_during_filling ... ok
[INFO] [stdout] test indicators::willr::tests::value_accessor::none_before_convergence ... ok
[INFO] [stdout] test indicators::willr::tests::value_accessor::returns_current_value ... ok
[INFO] [stdout] test inherent_methods::bb_without_indicator_import ... ok
[INFO] [stdout] test inherent_methods::builder_methods_without_trait_import ... ok
[INFO] [stdout] test inherent_methods::config_methods_without_trait_import ... ok
[INFO] [stdout] test inherent_methods::sma_without_indicator_import ... ok
[INFO] [stdout] test internals::ema_core::tests::convergence::emits_at_seed_without_enforcement ... ok
[INFO] [stdout] test internals::ema_core::tests::replace::none_during_seed ... ok
[INFO] [stdout] test internals::ema_core::tests::replace::multiple_replaces_during_seed ... ok
[INFO] [stdout] test inherent_methods::ema_without_indicator_import ... ok
[INFO] [stdout] test internals::ema_core::tests::replace::push_after_replace_uses_replaced_value ... ok
[INFO] [stdout] test indicators::willr::tests::display::formats_correctly ... ok
[INFO] [stdout] test internals::ema_core::tests::replace::multiple_replaces_stable ... ok
[INFO] [stdout] test internals::ema_core::tests::replace::seed_bar_replace_uses_sma_not_ema ... ok
[INFO] [stdout] test internals::ema_core::tests::replace::steady_state_recomputes_from_previous ... ok
[INFO] [stdout] test internals::ema_core::tests::replace::seed_replace_adjusts_sum ... ok
[INFO] [stdout] test internals::ema_core::tests::seeding::first_value_is_sma ... ok
[INFO] [stdout] test internals::ema_core::tests::seeding::length_one_immediate ... ok
[INFO] [stdout] test internals::ema_core::tests::seeding::none_before_seed_complete ... ok
[INFO] [stdout] test indicators::willr::tests::filling::returns_value_when_full ... ok
[INFO] [stdout] test internals::ema_core::tests::replace::replace_matches_clean_computation ... ok
[INFO] [stdout] test internals::ema_core::tests::replace::seed_bar_replace_recomputes_sma ... ok
[INFO] [stdout] test internals::ema_core::tests::steady_state::applies_ema_after_seed ... ok
[INFO] [stdout] test internals::ema_core::tests::steady_state::constant_input_stays_constant ... ok
[INFO] [stdout] test internals::ema_core::tests::steady_state::continues_computation ... ok
[INFO] [stdout] test internals::price_window::tests::price_window::filling::sum_is_none_until_window_full ... ok
[INFO] [stdout] test internals::price_window::tests::price_window::filling::sum_is_none_when_empty ... ok
[INFO] [stdout] test internals::price_window::tests::price_window::filling::sum_returns_value_when_full ... ok
[INFO] [stdout] test internals::price_window::tests::price_window::invariants::panics_on_decreasing_open_time - should panic ... ok
[INFO] [stdout] test internals::price_window::tests::price_window::open_time_zero::repaint_at_time_zero ... ok
[INFO] [stdout] test internals::price_window::tests::price_window::repaint::multiple_repaints_same_bar ... ok
[INFO] [stdout] test internals::price_window::tests::price_window::repaint::replaces_value_in_unfilled_window ... ok
[INFO] [stdout] test internals::price_window::tests::price_window::repaint::sum_stays_none_during_repaint_of_unfilled ... ok
[INFO] [stdout] test internals::price_window::tests::price_window::sliding::oldest_value_drops_on_advance ... ok
[INFO] [stdout] test internals::price_window::tests::price_window::sliding::slides_across_many_bars ... ok
[INFO] [stdout] test internals::price_window::tests::price_window::true_range::gap_up_high_vs_prev_close_wins ... ok
[INFO] [stdout] test internals::price_window::tests::price_window::true_range::first_bar_uses_high_minus_low ... ok
[INFO] [stdout] test internals::price_window::tests::price_window::true_range::prev_close_not_updated_on_repaint ... ok
[INFO] [stdout] test internals::price_window::tests::price_window::true_range::sum_accumulates_true_range_values ... ok
[INFO] [stdout] test internals::price_window::tests::price_window::true_range::gap_down_low_vs_prev_close_wins ... ok
[INFO] [stdout] test internals::price_window::tests::price_window::window_size_one::slides_with_size_one ... ok
[INFO] [stdout] test internals::price_window::tests::price_window::true_range::uses_prev_close_on_second_bar ... ok
[INFO] [stdout] test internals::price_window::tests::price_window::window_size_one::ready_after_one_bar ... ok
[INFO] [stdout] test internals::price_window::tests::price_window::repaint::replaces_value_in_full_window ... ok
[INFO] [stdout] test internals::ring_buffer::tests::capacity_one ... ok
[INFO] [stdout] test internals::price_window::tests::price_window::true_range::prev_close_updates_on_advance ... ok
[INFO] [stdout] test internals::ring_buffer::tests::find_value_and_index::find_indexed ... ok
[INFO] [stdout] test internals::price_window::tests::price_window::open_time_zero::first_bar_at_time_zero ... ok
[INFO] [stdout] test internals::ring_buffer::tests::find_value_and_index::find_indexed_after_multiple_wraps ... ok
[INFO] [stdout] test internals::ring_buffer::tests::find_value_and_index::find_indexed_after_wrap ... ok
[INFO] [stdout] test internals::ring_buffer::tests::filling_returns_none ... ok
[INFO] [stdout] test internals::ring_buffer::tests::full_evicts_oldest ... ok
[INFO] [stdout] test internals::ring_buffer::tests::replace_swaps_latest ... ok
[INFO] [stdout] test internals::ring_buffer::tests::replace_when_full ... ok
[INFO] [stdout] test internals::ring_buffer::tests::find_value_and_index::find_indexed_all_equal ... ok
[INFO] [stdout] test internals::ring_buffer::tests::wrap_around_correctness ... ok
[INFO] [stdout] test internals::rolling_extremes::tests::corner_cases::consecutive_rescans ... ok
[INFO] [stdout] test internals::rolling_extremes::tests::corner_cases::mid_window_extreme_ages_out ... ok
[INFO] [stdout] test internals::rolling_extremes::tests::flat_market::all_same_price ... ok
[INFO] [stdout] test internals::rolling_extremes::tests::push::extreme_expires_when_pushed_out_of_window ... ok
[INFO] [stdout] test internals::rolling_extremes::tests::push::first_push_sets_extremes ... ok
[INFO] [stdout] test internals::rolling_extremes::tests::push::tracks_highest_high_across_bars ... ok
[INFO] [stdout] test internals::rolling_extremes::tests::corner_cases::interleaved_replace_and_push ... ok
[INFO] [stdout] test internals::rolling_extremes::tests::replace::multiple_repaints_stable ... ok
[INFO] [stdout] test internals::rolling_extremes::tests::push::returns_current_extremes ... ok
[INFO] [stdout] test internals::rolling_extremes::tests::corner_cases::large_window_stress ... ok
[INFO] [stdout] test internals::rolling_extremes::tests::push::tracks_lowest_low_across_bars ... ok
[INFO] [stdout] test internals::rolling_extremes::tests::replace::repaint_lower_high_triggers_rescan_if_was_extreme ... ok
[INFO] [stdout] test internals::rolling_extremes::tests::replace::returns_current_extremes ... ok
[INFO] [stdout] test internals::rolling_extremes::tests::trending::downtrend_min_always_newest ... ok
[INFO] [stdout] test price_source::tests::extract_close ... ok
[INFO] [stdout] test price_source::tests::extract_hl2 ... ok
[INFO] [stdout] test price_source::tests::extract_high ... ok
[INFO] [stdout] test internals::rolling_extremes::tests::replace::push_after_replace_commits_repainted_value ... ok
[INFO] [stdout] test internals::rolling_extremes::tests::window_size_one::always_equals_current_bar ... ok
[INFO] [stdout] test internals::rolling_extremes::tests::replace::repaint_higher_low_triggers_rescan_if_was_extreme ... ok
[INFO] [stdout] test price_source::tests::extract_hlc3 ... ok
[INFO] [stdout] test internals::rolling_extremes::tests::replace::updates_forming_bar ... ok
[INFO] [stdout] test price_source::tests::extract_hlcc4 ... ok
[INFO] [stdout] test internals::rolling_extremes::tests::trending::uptrend_max_always_newest ... ok
[INFO] [stdout] test price_source::tests::extract_open ... ok
[INFO] [stdout] test price_source::tests::true_range_high_vs_prev_close_wins ... ok
[INFO] [stdout] test price_source::tests::true_range_hl_wins ... ok
[INFO] [stdout] test price_source::tests::extract_low ... ok
[INFO] [stdout] test price_source::tests::true_range_without_prev_close_falls_back_to_hl ... ok
[INFO] [stdout] test price_source::tests::true_range_low_vs_prev_close_wins ... ok
[INFO] [stdout] test price_source::tests::extract_ohlc4 ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 447 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests quantedge_ta
[INFO] [stdout] 
[INFO] [stdout] running 28 tests
[INFO] [stdout] test src/indicators/cci.rs - indicators::cci::Cci (line 137) ... ok
[INFO] [stdout] test src/indicators/atr.rs - indicators::atr::AtrConfig (line 15) ... ok
[INFO] [stdout] test src/indicators/bb.rs - indicators::bb::Bb (line 273) ... ok
[INFO] [stdout] test src/indicators/bb.rs - indicators::bb::BbConfig (line 73) ... ok
[INFO] [stdout] test src/indicators/chop.rs - indicators::chop::ChopConfig (line 20) ... ok
[INFO] [stdout] test src/indicators/dc.rs - indicators::dc::Dc (line 154) ... ok
[INFO] [stdout] test src/indicators/chop.rs - indicators::chop::Chop (line 124) ... ok
[INFO] [stdout] test src/indicators/dc.rs - indicators::dc::DcConfig (line 17) ... ok
[INFO] [stdout] test src/indicators/cci.rs - indicators::cci::CciConfig (line 15) ... ok
[INFO] [stdout] test src/indicators/adx.rs - indicators::adx::AdxConfig (line 18) ... ok
[INFO] [stdout] test src/indicator.rs - indicator::Indicator (line 49) ... ok
[INFO] [stdout] test src/indicators/adx.rs - indicators::adx::Adx (line 169) ... ok
[INFO] [stdout] test src/indicators/rsi.rs - indicators::rsi::Rsi (line 147) ... ok
[INFO] [stdout] test src/indicators/macd.rs - indicators::macd::Macd (line 254) ... ok
[INFO] [stdout] test src/indicators/macd.rs - indicators::macd::MacdConfig (line 24) ... ok
[INFO] [stdout] test src/indicators/rsi.rs - indicators::rsi::RsiConfig (line 16) ... ok
[INFO] [stdout] test src/indicators/sma.rs - indicators::sma::SmaConfig (line 15) ... ok
[INFO] [stdout] test src/indicators/sma.rs - indicators::sma::Sma (line 132) ... ok
[INFO] [stdout] test src/indicators/willr.rs - indicators::willr::WillR (line 130) ... ok
[INFO] [stdout] test src/indicators/stoch.rs - indicators::stoch::Stoch (line 234) ... ok
[INFO] [stdout] test src/indicators/stoch.rs - indicators::stoch::StochConfig (line 23) ... ok
[INFO] [stdout] test src/indicators/willr.rs - indicators::willr::WillRConfig (line 18) ... ok
[INFO] [stdout] test src/ohlcv.rs - ohlcv::Ohlcv (line 27) ... ok
[INFO] [stdout] test src/indicators/ema.rs - indicators::ema::Ema (line 170) ... ok
[INFO] [stdout] test src/indicators/ema.rs - indicators::ema::EmaConfig (line 25) ... ok
[INFO] [stdout] test src/indicators/kc.rs - indicators::kc::KcConfig (line 78) ... ok
[INFO] [stdout] test src/indicators/kc.rs - indicators::kc::Kc (line 286) ... ok
[INFO] [stdout] test src/indicators/atr.rs - indicators::atr::Atr (line 126) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 28 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 0.75s; merged doctests compilation took 0.65s
[INFO] running `Command { std: "docker" "inspect" "786cf62e1e23d739fc8266be483201f4b67ea9a3ae9cdbdfd7ecc1cf75ce2561", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "786cf62e1e23d739fc8266be483201f4b67ea9a3ae9cdbdfd7ecc1cf75ce2561", kill_on_drop: false }`
[INFO] [stdout] 786cf62e1e23d739fc8266be483201f4b67ea9a3ae9cdbdfd7ecc1cf75ce2561
